---
title: NodeConnector 节点连接器
icon: Link
relatedFile: app/src/core/stage/stageManager/concreteMethods/StageNodeConnector.tsx
---

该服务用于管理项目舞台中可连接实体（如节点和连接点）之间的连线。它提供了创建、修改和管理这些连线的功能。

## API

### `isConnectable(fromNode: ConnectableEntity, toNode: ConnectableEntity): boolean`

此方法用于检测两个可连接实体之间是否可以建立连接。它会检查实体是否存在、是否为同一个连接点（如果都是连接点），以及它们是否已经连接。

### `connectConnectableEntity(fromNode: ConnectableEntity, toNode: ConnectableEntity, text?: string, targetRectRate?: [number, number], sourceRectRate?: [number, number]): void`

此方法用于在两个可连接实体之间创建一条直线连线（`LineEdge`）。在创建之前，它会调用 `isConnectable` 进行连接性检查。

### `addCrEdge(fromNode: ConnectableEntity, toNode: ConnectableEntity): void`

此方法用于在两个可连接实体之间添加一条三次 Catmull-Rom 样条曲线连线（`CubicCatmullRomSplineEdge`）。在创建之前，它也会进行连接性检查。

### `reverseEdges(edges: LineEdge[]): void`

此方法用于反转给定直线连线数组的方向，即交换连线的起点和终点。

### `changeSelectedEdgeTarget(newTarget: ConnectableEntity): void`

此方法用于改变当前舞台中所有选定直线连线的终点为指定的新目标实体。
